<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  <title>Document</title>
  <style>
  </style>
 </head>
 <body>
  <div>
	  <button onclick="scans()">扫码</button>
	  <span>test1</span>
  </div>
 </body>
 <script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
 <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
 <script>
    $(document).ready(function(){
		init()
    	
    })
    function init(){
    	 const htmlobj=$.ajax({url:"https://iteng.wang/bee/bee/wxgzh/getSign",data:{url:'https://iteng.wang/bee/wx.html'},async:false});
    	 const resp = htmlobj.responseJSON.data
    	 wxConfig(resp) 
    }
    function wxConfig({appId,timestamp,nonceStr,signature}){
		wx.config({
		  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
		  appId, // 必填，公众号的唯一标识
		  timestamp, // 必填，生成签名的时间戳
		  nonceStr, // 必填，生成签名的随机串
		  signature,// 必填，签名
		  jsApiList: ['scanQRCode'] // 必填，需要使用的JS接口列表
		});
		wx.ready(function(res){
		  console.log(222,res)
		  document.body.append(222) // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
		});
		wx.error(function(res){
		 document.body.append(333)
		 console.log(333,res)
		  // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
		});
    }
	function scans(){
		wx.scanQRCode({
		  needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
		  scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
		  success: function (res) {
			var result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
			console.log(111,result)
		  },fail(e){
			  console.log(444,e)
		  }
		});
	}
	
 </script>
</html>
